#!/bin/bash

# 判断当前目录下是否存在名为 core.exe 的文件
if [ ! -f core.exe ]; then
    echo "错误：当前目录下没有找到 core.exe 文件。" >&2
    echo "拷贝本文件到build/<platform>/<toolchain>/bin目录下再运行。" >&2
    exit 1
fi

exe_files_array=(*.exe)

> tests.log
printf "1 context: " >>tests.log
for file in ${exe_files_array[@]}
do
    printf "\n${file}: " >>tests.log
    # 本地使用make certify_all时会多跑几次，是为了刷cache吗？
    ./${file} -v1 > /dev/null 2>&1
    ./${file} -v0 > /dev/null 2>&1
    ./${file} -v0 > /dev/null 2>&1
    ./${file} -v0 >>tests.log 2>&1
done

printf "\n\n4 contexts: " >>tests.log
for file in ${exe_files_array[@]}
do
    printf "\n${file}: " >>tests.log
    ./${file} -c4 -v1 > /dev/null 2>&1
    ./${file} -c4 -v0 > /dev/null 2>&1
    ./${file} -c4 -v0 > /dev/null 2>&1
    ./${file} -c4 -v0 >>tests.log 2>&1
done

printf "\n\n16 contexts: " >>tests.log
for file in ${exe_files_array[@]}
do
    printf "\n${file}: " >>tests.log
    ./${file} -c16 -v1 > /dev/null 2>&1
    ./${file} -c16 -v0 > /dev/null 2>&1
    ./${file} -c16 -v0 > /dev/null 2>&1
    ./${file} -c16 -v0 >>tests.log 2>&1
done